#pragma once

/*
 * 命令指令，传递给状态机执行的命令
 */

#include <string>

namespace raft::utils {
    class Command {
    public:
        // 序列化
        [[nodiscard]] virtual std::string as_string() const = 0;

        // 反序列化
        virtual bool parse_from_string(const std::string &str) = 0;

        // 清空所有成员函数
        virtual void clear() = 0;
    };
}// namespace raft::utils